package com.power.project.service;

import com.power.project.model.bo.TagSaveBO;
import com.power.project.model.bo.TagUserSetBO;
import com.power.project.model.pageInfo.Ww_tagPageInfo;
import com.power.project.model.vo.TagVO;
import com.power.project.model.vo.feignvo.Tag;
import com.power.project.model.vo.feignvo.TagUser;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 标签业务层
 */
public interface Ww_tagService {

    /**
     * 根据传入标签对象进行新增或更新操作
     */
    void saveOrUpdate(TagSaveBO saveBO);

    /**
     * 根据ww_tag.tagid删除标签
     */
    void removeById(String tagId);

    /**
     * 根据传入条件查询标签分页结果
     */
    Page<TagVO> findAll(Ww_tagPageInfo pageInfo);

    List<TagVO> findAllTags(String tenantId);

    /**
     * 根据标签ww_tag.tagid获取已设置的人员id列表
     *
     * @param tagId 标签ww_tag.tagid
     * @return 人员id列表
     */
    List<String> getUserIds(String tagId);

    /**
     * 批量给人员设置标签
     *
     * @param setBO
     */
    void batchSet(TagUserSetBO setBO);


    //region 企业微信接口适配
    List<Tag> queryAllTagWechat(String tenantId);

    List<TagUser> queryAllTagUserWechat(String tenantId);
    //endregion
}
